【Python】批量生成Excel文件 |
您所在的位置:网站首页 › python创建excel表格并写入openpy l › 【Python】批量生成Excel文件 |
前言 Python可以很方便地对Excel进行处理,比如:工作簿的新建,数据的写入,数据的读取,而且效率非常高。在这里给大家介绍几个包:openpyxl(读写)、xlrd(读)、xlwt(写)包。 openpyxl包介绍 1)openpyxl包-创建、写入、保存 ###新建工作簿,写入内容,关闭工作簿 from openpyxl import Workbook from openpyxl.compat import range from openpyxl.utils import get_column_letter #新建工作簿 wb = Workbook() sht1 = wb.active #给新建的工作表改名 sht1.title = 's1' sht2 = wb.create_sheet(title = 's2') sht3 = wb.create_sheet(title = 's3') #写入内容和公式的方法 (A1、R1C1种样式) sht1['A1'] = 100 sht1['A2'] = "=randbetween(1,100)" sht2.cell(row = 1 , column= 1 , value = 'python') #单元格合并与取消合并 sht1.merge_cells('C1:C2') #sht1.unmerge_cells('C1:C2') sht1.merge_cells(start_row=2, start_column=1, end_row=4, end_column=4) #sht1.merge_cells(start_row=2, start_column=1, end_row=4, end_column=4) #循环生成列的英文字母 for i in range(1,11): for j in range(1,11): sht3.cell(column = i, row = j, value="{0}".format(get_column_letter(j))) #工作簿的保存 wb.save(filename = "C:\\Users\\Administrator\\Desktop\\testDemo.xlsx")生成s3工作表内容如下: 2)openpyxl包-读取内容 #读取excel方法 from openpyxl import load_workbook filename= "C:\\Users\\Administrator\\Desktop\\testDemo.xlsx" wb = load_workbook(filename) #读取所有工作表名称2种方法 all_shtnames = wb.sheetnames #all_shtnames = wb.get_sheet_names() #工作表的2种索引方法 sht1 = wb.get_sheet_by_name('s1') sht3 = wb['s3'] #读取单元格内容 print(sht3['A2'].value)openpyxl包关于对Excel工作簿内容的读取相对比较少,xlrd包相对功能比较强,下一篇文章主要讲利用xlrd包来批量读取Excel文件,并进行内容合并。 3)openpyxl包-批量新建并写入内容 #要求:1)生成10个工作簿 (N1.xlsx,N2.xlsx...N10.xlsx) # 2)每个工作簿的内容格式如下(生成20个学生的成绩信息3个字段:班级N1..N10,st_1...st_20,score随机 #可以读写excel的openpyxl包 from openpyxl import Workbook import numpy as np #from datetime import datetime for i in range(1,11): #新建工作簿 wb = Workbook() #新建工作表并修改名称 ws = wb.active ws.title = 'N' + str(i) # 写入标题 ws['A1'] = 'class' ws['B1'] = 'name' ws['C1'] = 'score' # 循环写入内容 for j in range(2,22): ws.cell(row=j, column=1, value = 'N' + str(i)) ws.cell(row=j, column=2, value = 'st_' + str(j-1)) #生成1-100之间的成绩(整数) ws.cell(row=j, column=3, value = int(np.random.randint(1,100,1))) # 文件保存 wb.save('C:\\Users\\Administrator\\Desktop\\excelDemo\\N' + str(i) + '.xlsx')批量生成excel工作簿结果如下: 总结 本文主要是利用openpyxl包进行Excel的批量生成并进行数据写入。当然openpyxl包除了可以对Excel进行数据的读写与保存,还有其他相关操作,比如:字段筛选与排序、添加批注、工作表设置、创建表格、插入图片、打印设置、也可以结合numpy、pandas包来进行数据的写入。另外,进行图表绘制(包括线形图、面积图、柱形图、球形图、雷达图、箱图、Surface charts等)也是其一大模块。总之,openpyxl包还是非常强大的。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |